package com.foreveross.fetl.util;

import java.math.BigDecimal;

public class PriceUtil {
	

	
	public static double USDrefePrice;
	
	/**
	 * 转换价格
	 * @param price 原价格
	 * @param refePrice 汇率
	 * @param scale 保存多少位小数  0为不要小数 ，1为保存1个
	 * @return
	 */
	public static Double conversionPrice(double price,double refePrice,int scale){
		if(scale<0){
			scale=0;
		}
		if(refePrice==0){
			return round(price,scale,BigDecimal.ROUND_HALF_UP);
		}
		return round(price*refePrice,scale,BigDecimal.ROUND_HALF_UP);
	}
	/**
	 * 转换价格  默认不要小数
	 * @param price 原价格
	 * @param refePrice 汇率
	 * @return
	 */
	public static Double conversionPrice(double price,double refePrice){
		return conversionPrice(price,refePrice,0);
	}
	
	 /** 
     * 对double数据进行取精度. 
     * @param value  double数据. 
     * @param scale  精度位数(保留的小数位数). 
     * @param roundingMode  精度取值方式. 
     *  setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位，如2.35会变成2.3
	 *	setScale(1,BigDecimal.ROUND_UP)进位处理，2.35变成2.4
	 *	setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入，2.35变成2.4
	 *	setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入，2.35变成2.3，如果是5则向下舍
     * @return 精度计算后的数据. 
     */ 
    public static double round(double value, int scale,
             int roundingMode) {  
        BigDecimal bd = new BigDecimal(value);  
        bd = bd.setScale(scale, roundingMode);  
        double d = bd.doubleValue();  
        bd = null;  
        return d;  
    }
    
}
